package com.lqkj.maptest.mapper;

import com.lqkj.maptest.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author Linm
 * @title User增删改查
 * @date 2021/8/4 20:51
 */
@Mapper
public interface UserMapper {

    /**
     * 查询所有信息并分页
     *
     * @param pageNum  页数
     * @param pageSize 每页大小
     * @return User
     */
    List<User> findAll(@Param("pageNum") Integer pageNum,
                       @Param("pageSize") Integer pageSize);

    /**
     * 高级查询
     *
     * @return user
     */
    List<User> selectUser();

    /**
     * 增加用户
     *
     * @param user 用户
     * @return user
     */
    Integer addUser(User user);

    /**
     * 批量增加用户
     * @param users 用户
     * @return user
     */
    Integer batchAddUser(@Param(value = "users") List<User> users);

    /**
     * 删除用户
     *
     * @param user 用户
     * @return user
     */
    Integer deleteUser(User user);

    /**
     * 修改用户
     *
     * @param user 用户
     * @return user
     */
    Integer updateUser(User user);

    /**
     * 批量修改用户
     *
     * @param users 用户
     * @return user
     */
    Integer batchUpdateUser(@Param(value = "users") List<User> users);

    /**
     * 批量删除
     *
     * @param ids id
     * @return ids
     */
    Integer batchDeleteUser(Integer[] ids);
}
